{ if ("undefined" == typeof g_all_modules) { g_all_modules = {}; } g_all_modules["sp.core.js"] = { "version": { "rmj": 16, "rmm": 0, "rup": 10386, "rpr": 20011 } }; } if (typeof spWriteProfilerMark == 'function') spWriteProfilerMark("perfMarkBegin_" + "sp.core.js"); Type.registerNamespace('SP'); if (typeof IEnumerator == "undefined") { var IEnumerator = function() { }; IEnumerator.prototype = { get_current: null, moveNext: null, reset: null }; IEnumerator.registerInterface("IEnumerator"); } if (typeof IEnumerable == "undefined") { var IEnumerable = function() { }; IEnumerable.prototype = { getEnumerator: null }; IEnumerable.registerInterface("IEnumerable"); } if (typeof IDisposable == "undefined") { var IDisposable = function() { }; IDisposable.prototype = { dispose: null }; IDisposable.registerInterface("IDisposable"); } SP.EnumerableArray = function SP_EnumerableArray(array) { if (array == null) array = []; this._m_array = array; }; SP.EnumerableArray.prototype = { _m_array: null, getEnumerator: function SP_EnumerableArray$getEnumerator() { return new SP._arrayEnumerator(this._m_array); }, get_length: function SP_EnumerableArray$get_length() { return this._m_array.length; }, get_count: function SP_EnumerableArray$get_count() { return this._m_array.length; }, add: function SP_EnumerableArray$add(obj) { this._m_array.push(obj); }, addRange: function SP_EnumerableArray$addRange(items) { Array.addRange(this._m_array, items); }, clear: function SP_EnumerableArray$clear() { this._m_array.length = 0; }, contains: function SP_EnumerableArray$contains(item) { return Array.contains(this._m_array, item); }, indexOf: function SP_EnumerableArray$indexOf(item, start) { return Array.indexOf(this._m_array, item, start); }, insert: function SP_EnumerableArray$insert(index, item) { Array.insert(this._m_array, index, item); }, remove: function SP_EnumerableArray$remove(item) { Array.remove(this._m_array, item); }, removeAt: function SP_EnumerableArray$removeAt(index) { Array.removeAt(this._m_array, index); }, toArray: function SP_EnumerableArray$toArray() { return this._m_array; }, toArrayList: function SP_EnumerableArray$toArrayList() { return this._m_array; } }; SP._arrayEnumerator = function SP__arrayEnumerator(array) { this._m_array = array; this._m_index = -1; this.current = null; }; SP._arrayEnumerator.prototype = { _m_index: 0, _m_array: null, get_current: function SP__arrayEnumerator$get_current() { return this._m_array[this._m_index]; }, moveNext: function SP__arrayEnumerator$moveNext() { this._m_index++; this.current = this._m_array[this._m_index]; return this._m_index < this._m_array.length; }, reset: function SP__arrayEnumerator$reset() { this.current = null; this._m_index = -1; } }; SP.EnumerableArray.registerClass('SP.EnumerableArray', null, IEnumerable); SP._arrayEnumerator.registerClass('SP._arrayEnumerator', null, IEnumerator); Type.registerNamespace('SP'); SP.BWsaStreamTypes = function() { }; SP.BWsaStreamTypes.prototype = { static: 1, cyclic: 2 }; SP.BWsaStreamTypes.registerEnum('SP.BWsaStreamTypes', false); SP.SQMDP = function() { }; SP.SQMDP.prototype = { none: 0, dataiD_SESSION_TYPE: 60, dataiD_BSQM_BROWSERINFO: 7982, dataiD_BSQM_MAXSTREAMROWS: 7993, dataiD_BSQM_MAXLSTREAMROWSOVERWRITTEN: 7994, dataiD_BSQM_MAXSTREAMROWSOVERWRITTENSTREAMID: 8047, dataiD_BSQM_MAXSTREAMROWSSTREAMID: 8048, dataiD_BSQM_OSDATA: 8049, dataiD_BSQM_COMMANDUIACTION: 8327, dataiD_BSQM_INVALIDVALUEDP: 8763, dataiD_OFFICESQMSESSIONTYPE: 8814, dataiD_BSQM_SCREENRESOLUTION: 9411, dataiD_BSQM_MOBILEDEVICE: 9412, dataiD_DOCUMENTID: 9797, dataiD_BSQMDOCUMENTID: 10273 }; SP.SQMDP.registerEnum('SP.SQMDP', false); SP.IBWsaClient = function() { }; SP.IBWsaClient.registerInterface('SP.IBWsaClient'); SP.PageTransitionType = function() { }; SP.PageTransitionType.prototype = { None: 0, MdsToMds: 1, MdsToNonMds: 2, NonMdsToMds: 3, NonMdsToNonMds: 4 }; SP.PageTransitionType.registerEnum('SP.PageTransitionType', false); SP.IBSQM = function() { }; SP.IBSQM.registerInterface('SP.IBSQM'); SP.BWsaConfig = function SP_BWsaConfig() { this.$1O_0 = [60, 7982, 7993, 7994, 8047, 8048, 8049, 9411, 9412]; this.$f_0 = ''; this.$8_0 = false; this.$D_0 = false; this.$15_0 = null; this.$n_0 = 1800000; this.$m_0 = 65536; this.$o_0 = 2147483647; this.$1T_0 = 9; this.$1U_0 = 1000; this.$14_0 = 1000; }; SP.BWsaConfig.prototype = { $f_0: null, $8_0: false, $D_0: false, $15_0: null, $n_0: 0, $m_0: 0, $o_0: 0, $1U_0: 0, $14_0: 0, $1T_0: 0, get_maxSessionMs: function SP_BWsaConfig$get_maxSessionMs$in() { return this.$n_0; }, set_maxSessionMs: function SP_BWsaConfig$set_maxSessionMs$in(value) { this.$n_0 = value; return value; }, get_uploadUrl: function SP_BWsaConfig$get_uploadUrl$in() { return this.$f_0; } }; SP.Ticks = function SP_Ticks() { }; SP.Ticks.getTicks32 = function SP_Ticks$getTicks32$st() { var $v_0 = new Date(); var $v_1 = $v_0.getTime(); if (!SP.Ticks.$19) { SP.Ticks.$19 = $v_1; } return 1 + $v_1 - SP.Ticks.$19 & 2147483647; }; SP.Ticks.getTicks64 = function SP_Ticks$getTicks64$st() { var $v_0 = new Date(); var $v_1 = $v_0.getTime(); $v_1 = $v_1 + 11644473600000; $v_1 = $v_1 * 10000; return $v_1; }; SP.TimerResetCheck = function SP_TimerResetCheck() { }; SP.TimerResetCheck.isTimerResetNeeded = function SP_TimerResetCheck$isTimerResetNeeded$st() { var $v_0 = false; var $v_1 = new Date(); var $v_2 = $v_1.getTime(); if (!SP.TimerResetCheck.$12 || $v_2 - SP.TimerResetCheck.$12 > 60000) { $v_0 = true; SP.TimerResetCheck.$12 = $v_2; } return $v_0; }; SP.StreamRowCounters = function SP_StreamRowCounters() { }; SP.BWsaDatapoint = function SP_BWsaDatapoint(id) { this.m_WsaId = id; this.m_Value = 0; this.m_Ticks = SP.Ticks.getTicks32(); this.m_Count = 0; this.m_Sum = 0; }; SP.BWsaDatapoint.prototype = { m_WsaId: 0, m_Value: 0, m_Ticks: 0, m_Count: 0, m_Sum: 0 }; SP.WsaStreamRow = function SP_WsaStreamRow(dwNumElements) { this.m_Ticks = SP.Ticks.getTicks32(); this.m_Values = new Array(dwNumElements); }; SP.WsaStreamRow.prototype = { m_Ticks: 0, m_Values: null }; SP.BWsaStream = function SP_BWsaStream(id, type, width, max) { if (max < 1 || max > 1000) { max = 1000; } this.m_WsaId = id; this.m_StreamType = type; this.m_Width = width; this.m_MaxRows = max; this.m_RowCount = 0; this.m_RowsOverwritten = 0; this.m_Rows = {}; }; SP.BWsaStream.prototype = { m_WsaId: 0, m_StreamType: 0, m_Width: 0, m_MaxRows: 0, m_RowCount: 0, m_RowsOverwritten: 0, m_Rows: null }; SP.BWsaHeader = function SP_BWsaHeader() { this.m_StartTime = SP.Ticks.getTicks64(); this.m_EndTime = 0; }; SP.BWsaHeader.prototype = { m_StartTime: 0, m_EndTime: 0, m_CorrelationId: null, m_FlightId: null }; SP.BWsaData = function SP_BWsaData() { this.m_cDataPoints = 0; this.m_cStreams = 0; this.m_cbStreams = 0; this.m_wsaHeader = new SP.BWsaHeader(); this.m_wsaDatapoints = {}; this.m_wsaStreams = {}; }; SP.BWsaData.prototype = { m_cDataPoints: 0, m_cStreams: 0, m_cbStreams: 0, m_wsaHeader: null, m_wsaDatapoints: null, m_wsaStreams: null }; SP.BWsaClient = function SP_BWsaClient(uploadUrl, fIsOptedIn, sqmQosEnabled, qosDataPoints) { this.$$d_$22_0 = Function.createDelegate(this, this.$22_0); this.bWsaClientInit(uploadUrl, fIsOptedIn, sqmQosEnabled, qosDataPoints); }; SP.BWsaClient.$27 = function SP_BWsaClient$$27$st() { var $v_0 = 0; var $v_1 = window.navigator.userAgent; var $v_2 = -1; if (($v_2 = $v_1.indexOf(' MSIE ')) > -1) { $v_2 += 6; $v_0 = 2 << 24; } else if (($v_2 = $v_1.indexOf(' Edge/')) > -1) { $v_2 += 6; $v_0 = 2 << 24; } else if (($v_2 = $v_1.indexOf(' Firefox/')) > -1) { $v_2 += 9; $v_0 = 3 << 24; } else if (($v_2 = $v_1.indexOf(' Chrome/')) > -1) { $v_2 += 8; $v_0 = 6 << 24; } else if (($v_2 = $v_1.indexOf(' Safari/')) > -1 && ($v_2 = $v_1.indexOf(' Version/')) > -1) { $v_2 += 9; $v_0 = 4 << 24; } else if (($v_2 = $v_1.indexOf('Opera/')) > -1) { $v_2 += 6; $v_0 = 5 << 24; } else { $v_0 = 1 << 24; $v_2 = -1; } if ($v_2 >= 0) { var $v_3 = SP.BWsaClient.$1j($v_1.substr($v_2)); if (Sys.Browser.agent === Sys.Browser.InternetExplorer && $v_3[0] === 7 && $v_1.indexOf('Trident/4.0') >= 0) { $v_3[0] = 8; } $v_0 = $v_0 | ($v_3[0] << 16) + $v_3[1]; } try { if (window.navigator.cookieEnabled) { $v_0 = $v_0 | 1073741824; } else { $v_0 = $v_0 | 1610612736; } } catch ($$e_4) { } $v_0 = $v_0; return $v_0; }; SP.BWsaClient.$1j = function SP_BWsaClient$$1j$st($p0) { var $v_0 = [0, 0]; if (SP.BWsaClient.$1S($p0.charAt(0))) { $v_0[0] = parseInt($p0); } for (var $v_1 = 0; $v_1 < $p0.length; $v_1++) { if (!SP.BWsaClient.$1S($p0.charAt($v_1))) { $p0 = $p0.substr($v_1 + 1); break; } } if (SP.BWsaClient.$1S($p0.charAt(0))) { $v_0[1] = parseInt($p0); } if ($v_0[0] < 0 || $v_0[0] > 255 || $v_0[1] < 0 || $v_0[1] > 65535) { $v_0[0] = 0; $v_0[1] = 0; } return $v_0; }; SP.BWsaClient.$2B = function SP_BWsaClient$$2B$st() { var $v_0 = 0; var $v_1 = 1; var $v_2 = window.navigator.userAgent; if ($v_2.indexOf('Windows CE') >= 0) { $v_1 = 3; } else if ($v_2.indexOf('Windows') >= 0) { $v_1 = 2; } else if ($v_2.indexOf('PPC') >= 0 || $v_2.indexOf('Macintosh') >= 0) { $v_1 = 4; } else if ($v_2.indexOf('iPhone;') >= 0 || $v_2.indexOf('iPad;') >= 0 || $v_2.indexOf('iPod;') >= 0) { $v_1 = 7; } else if ($v_2.indexOf('SunOS') >= 0) { $v_1 = 5; } else if ($v_2.indexOf('Linux') >= 0) { $v_1 = 6; } $v_0 = $v_1 << 24; var $v_3 = 'Windows NT '; if ($v_1 === 7) { $v_3 = ' OS '; } var $v_4 = $v_2.indexOf($v_3); if ($v_4 < 0) { $v_3 = 'Mac OS X '; $v_4 = $v_2.indexOf($v_3); } if ($v_4 >= 0) { var $v_6 = SP.BWsaClient.$1j($v_2.substr($v_4 + $v_3.length)); $v_0 = $v_0 + (($v_6[0] << 16) + $v_6[1]); } var $v_5 = 0; try { var $v_7 = window.navigator.platform; if ($v_2.indexOf('WOW64') !== -1) { $v_5 = 2; } else if ($v_7 === 'Win64') { $v_5 = 3; } else if ($v_7 === 'Win32' || $v_7 === 'Linux i686') { $v_5 = 1; } } catch ($$e_8) { } $v_0 = $v_0 | $v_5 << 29; return $v_0; }; SP.BWsaClient.$2C = function SP_BWsaClient$$2C$st() { var $v_0 = window.screen.width & 65535; var $v_1 = window.screen.height & 65535; return ($v_1 << 16) + $v_0; }; SP.BWsaClient.$28 = function SP_BWsaClient$$28$st() { var $v_0 = window.navigator.userAgent; var $v_1 = 0; if ($v_0.indexOf('iPhone;') >= 0) { $v_1 = 1; } else if ($v_0.indexOf('iPad;') >= 0) { $v_1 = 2; } else if ($v_0.indexOf('iPod;') >= 0) { $v_1 = 3; } return $v_1; }; SP.BWsaClient.isNullOrUndefined = function SP_BWsaClient$isNullOrUndefined$st(obj) { var $v_0 = null; return obj === $v_0 || typeof obj === 'undefined'; }; SP.BWsaClient.$1S = function SP_BWsaClient$$1S$st($p0) { return $p0 >= '0' && $p0 <= '9'; }; SP.BWsaClient.getSQMLocationFromCUICommandInfo = function SP_BWsaClient$getSQMLocationFromCUICommandInfo$st(commandInfo) { var $v_0 = 0; if (commandInfo) { var $v_1 = commandInfo['RootType']; if ($v_1 === 'Ribbon') { var $v_2 = commandInfo['RootLocation']; if ($v_2 === 'LowerRibbon') { $v_0 = 2; } else if ($v_2 === 'UpperRibbon') { $v_0 = 1; } } else if ($v_1 === 'QAT') { $v_0 = 3; } else if ($v_1 === 'Jewel') { $v_0 = 4; } else if ($v_1 === 'ContextMenu') { $v_0 = 19; } } return $v_0; }; SP.BWsaClient.calcActionId = function SP_BWsaClient$calcActionId$st(actionName) { var $v_0 = 5381; var $v_1 = $v_0; var $v_2 = actionName.length; for (var $v_6 = 0; $v_6 < $v_2; $v_6 += 2) { $v_0 = (($v_0 << 5) + $v_0 ^ actionName.charCodeAt($v_6)) & 4294967295; if ($v_6 === $v_2 - 1) { break; } $v_1 = (($v_1 << 5) + $v_1 ^ actionName.charCodeAt($v_6 + 1)) & 4294967295; } var $v_3 = $v_1 * 35685; var $v_4 = $v_1 * 23896 << 16; var $v_5 = $v_0 + $v_3 + $v_4 & 4294967295; if ($v_5 < 0) { $v_5 += 4294967296; } return $v_5; }; SP.BWsaClient.prototype = { bWsaClientInit: function SP_BWsaClient$bWsaClientInit$in(uploadUrl, fIsOptedIn, sqmQosEnabled, qosDataPoints) { this.$1_0 = new SP.BWsaData(); this.$0_0 = new SP.BWsaConfig(); this.$k_0 = false; this.$l_0 = 0; this.$Y_0 = 0; this.$e_0 = false; this.$d_0 = {}; for (var $v_0 = 0; $v_0 < this.$0_0.$1O_0.length; $v_0++) { this.$d_0['' + this.$0_0.$1O_0[$v_0]] = true; } this.$0_0.$f_0 = uploadUrl; this.$0_0.$8_0 = uploadUrl === '' ? false : fIsOptedIn; this.$0_0.$D_0 = sqmQosEnabled && !!qosDataPoints; this.$0_0.$15_0 = qosDataPoints; }, $1_0: null, $0_0: null, $k_0: false, $l_0: 0, $Y_0: 0, $e_0: false, $d_0: null, $S_0: null, get_isContinuation: function SP_BWsaClient$get_isContinuation$in() { return this.$k_0; }, disableSqmQos: function SP_BWsaClient$disableSqmQos$in() { this.$0_0.$D_0 = false; }, $2E_0: function SP_BWsaClient$$2E_0$in() { var $v_0 = new SP.BWsaData(); var $$dict_5 = this.$d_0; for (var $$key_6 in $$dict_5) { var $v_1 = { key: $$key_6, value: $$dict_5[$$key_6] }; var $v_2 = $v_1.key; var $v_3 = this.$1_0.m_wsaDatapoints[$v_2]; if ($v_3) { var $v_4 = new SP.BWsaDatapoint(parseInt($v_2)); $v_4.m_Value = $v_3.m_Value; $v_4.m_Count = $v_3.m_Count; $v_4.m_Sum = $v_3.m_Sum; $v_0.m_wsaDatapoints[$v_2] = $v_4; $v_0.m_cDataPoints++; } } var $$dict_A = this.$1_0.m_wsaStreams; for (var $$key_B in $$dict_A) { var $v_5 = { key: $$key_B, value: $$dict_A[$$key_B] }; var $v_6 = $v_5.value; var $v_7 = new SP.BWsaStream($v_6.m_WsaId, $v_6.m_StreamType, $v_6.m_Width, $v_6.m_MaxRows); $v_0.m_wsaStreams['' + $v_6.m_WsaId] = $v_7; $v_0.m_cStreams++; $v_0.m_cbStreams += 12; } $v_0.m_wsaHeader.m_CorrelationId = this.$1_0.m_wsaHeader.m_CorrelationId; $v_0.m_wsaHeader.m_FlightId = this.$1_0.m_wsaHeader.m_FlightId; this.$1_0 = $v_0; this.$e_0 = false; }, $1V_0: function SP_BWsaClient$$1V_0$in() { var $v_0 = this.$1_0.m_cDataPoints * 12 + this.$1_0.m_cbStreams; if ($v_0 >= this.$0_0.$m_0) { this.uploadWsaData(); $v_0 = this.$1_0.m_cDataPoints * 12 + this.$1_0.m_cbStreams; return $v_0 >= this.$0_0.$m_0; } return false; }, $1s_0: function SP_BWsaClient$$1s_0$in($p0) { try { if (this.$e_0 || this.$d_0['' + $p0]) { return; } this.$e_0 = true; this.$h_0(7982, SP.BWsaClient.$27()); this.$h_0(8049, SP.BWsaClient.$2B()); this.$h_0(8814, 3); this.$h_0(9411, SP.BWsaClient.$2C()); this.$h_0(9412, SP.BWsaClient.$28()); } catch ($$e_1) { } }, $1o_0: function SP_BWsaClient$$1o_0$in($p0) { if (this.$0_0.$8_0) { return true; } if (!this.$0_0.$D_0) { return false; } var $$dict_2 = this.$0_0.$15_0; for (var $$key_3 in $$dict_2) { var $v_0 = { key: $$key_3, value: $$dict_2[$$key_3] }; if ($v_0.value === $p0) { return true; } } return false; }, setDw: function SP_BWsaClient$setDw$in(dwDatapointId, dwDatapointValue) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwDatapointValue) !== Number) { return; } if (dwDatapointId < 1 || dwDatapointId > this.$0_0.$o_0) { return; } if (dwDatapointValue < 0 || dwDatapointValue > 4294967295) { this.setDw(8763, dwDatapointId); return; } if (this.$1V_0()) { return; } this.$1s_0(dwDatapointId); this.$b_0(); var $v_0 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if (!$v_0) { $v_0 = new SP.BWsaDatapoint(dwDatapointId); this.$1_0.m_wsaDatapoints['' + dwDatapointId] = $v_0; this.$1_0.m_cDataPoints++; } $v_0.m_Value = dwDatapointValue; $v_0.m_Count++; $v_0.m_Sum = dwDatapointValue + $v_0.m_Sum; } catch ($$e_3) { } }, setBool: function SP_BWsaClient$setBool$in(dwDatapointId, dwDatapointValue) { if (dwDatapointValue) { dwDatapointValue = 1; } this.setDw(dwDatapointId, dwDatapointValue); }, setBitsOrAnd: function SP_BWsaClient$setBitsOrAnd$in(dwDatapointId, dwOrBits, dwAndBitsFirst) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwOrBits) !== Number || Object.getType(dwAndBitsFirst) !== Number) { return; } if (dwOrBits < 0 || dwOrBits > 4294967295 || dwAndBitsFirst < 0 || dwAndBitsFirst > 4294967295) { this.setDw(8763, dwDatapointId); return; } var $v_0 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if ($v_0) { this.$b_0(); $v_0.m_Value &= dwAndBitsFirst; $v_0.m_Value |= dwOrBits; $v_0.m_Count++; } else { this.setDw(dwDatapointId, dwOrBits); } } catch ($$e_4) { } }, setBitsOr: function SP_BWsaClient$setBitsOr$in(dwDatapointId, dwOrBits) { this.setBitsOrAnd(dwDatapointId, dwOrBits, 4294967295); }, setBitsAnd: function SP_BWsaClient$setBitsAnd$in(dwDatapointId, dwAndBits) { this.setBitsOrAnd(dwDatapointId, 0, dwAndBits); }, setIfMax: function SP_BWsaClient$setIfMax$in(dwDatapointId, dwDatapointValue) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwDatapointValue) !== Number) { return; } var $v_0 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if (!$v_0 || $v_0.m_Value < dwDatapointValue) { this.setDw(dwDatapointId, dwDatapointValue); } else { this.$b_0(); } } catch ($$e_3) { } }, setIfMin: function SP_BWsaClient$setIfMin$in(dwDatapointId, dwDatapointValue) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwDatapointValue) !== Number) { return; } var $v_0 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if (!$v_0 || $v_0.m_Value > dwDatapointValue) { this.setDw(dwDatapointId, dwDatapointValue); } else { this.$b_0(); } } catch ($$e_3) { } }, incrementDw: function SP_BWsaClient$incrementDw$in(dwDatapointId, dwInc) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwInc) !== Number) { return; } if (!dwInc) { this.$b_0(); return; } var $v_0 = 0; var $v_1 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if ($v_1) { $v_0 = $v_1.m_Value; } this.setDw(dwDatapointId, $v_0 + dwInc); } catch ($$e_4) { } }, addToAverage: function SP_BWsaClient$addToAverage$in(dwDatapointId, dwDatapointValue, count) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (Object.getType(dwDatapointId) !== Number || Object.getType(dwDatapointValue) !== Number) { return; } this.setDw(dwDatapointId, dwDatapointValue); var $v_0 = this.$1_0.m_wsaDatapoints['' + dwDatapointId]; if ($v_0) { if (count > 1) { $v_0.m_Count += count - 1; } $v_0.m_Value = Math.floor($v_0.m_Sum / $v_0.m_Count); } } catch ($$e_4) { } }, createStream: function SP_BWsaClient$createStream$in(WsaStreamEntryId, dwStreamType, dwWidth, dwMaxRows) { try { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (WsaStreamEntryId < 1 || WsaStreamEntryId > this.$0_0.$o_0) { return; } if (dwStreamType !== 1 && dwStreamType !== 2) { return; } if (dwWidth < 1 || dwWidth > this.$0_0.$1T_0) { return; } if (this.$1V_0()) { return; } if (dwMaxRows < 1 || dwMaxRows > this.$0_0.$14_0) { dwMaxRows = this.$0_0.$14_0; } if (!this.$1_0.m_wsaStreams['' + WsaStreamEntryId]) { var $v_0 = new SP.BWsaStream(WsaStreamEntryId, dwStreamType, dwWidth, dwMaxRows); this.$1_0.m_wsaStreams['' + WsaStreamEntryId] = $v_0; this.$1_0.m_cStreams++; this.$1_0.m_cbStreams += 12; } } catch ($$e_5) { } }, createStreamUnobfuscated: function SP_BWsaClient$createStreamUnobfuscated$in(WsaStreamEntryId, dwStreamType, dwWidth, dwMaxRows) { this.createStream(WsaStreamEntryId, dwStreamType, dwWidth, dwMaxRows); }, $2L_0: function SP_BWsaClient$$2L_0$in($p0) { delete $p0.m_Rows['' + $p0.m_RowsOverwritten]; this.$1_0.m_cbStreams -= ($p0.m_Width + 1) * 4; $p0.m_RowCount--; $p0.m_RowsOverwritten++; if ($p0.m_RowsOverwritten > SP.StreamRowCounters.maxOverwritten) { SP.StreamRowCounters.maxOverwritten = $p0.m_RowsOverwritten; this.setDw(7994, $p0.m_RowsOverwritten); this.setDw(8047, $p0.m_WsaId); } }, addToStreamDw: function SP_BWsaClient$addToStreamDw$in(dwStreamId) { var values = []; for (var $$pai_5 = 1; $$pai_5 < arguments.length; ++$$pai_5) { values[$$pai_5 - 1] = arguments[$$pai_5]; } if (!values.length) { return; } try { var $v_0 = new SP.WsaStreamRow(values.length); for (var $v_1 = 0; $v_1 < values.length; $v_1++) { $v_0.m_Values[$v_1] = values[$v_1]; } this.$1w_0(dwStreamId, $v_0); } catch ($$e_4) { } }, addToStreamDwUnobfuscated: function SP_BWsaClient$addToStreamDwUnobfuscated$in(dwStreamId) { var values = []; for (var $$pai_2 = 1; $$pai_2 < arguments.length; ++$$pai_2) { values[$$pai_2 - 1] = arguments[$$pai_2]; } this.addToStreamDw.apply(this, [dwStreamId].concat(values)); }, $1w_0: function SP_BWsaClient$$1w_0$in($p0, $p1) { if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if ($p0 < 1 || $p0 > this.$0_0.$o_0) { return; } if (this.$1V_0()) { return; } this.$1s_0($p0); var $v_0 = this.$1_0.m_wsaStreams['' + $p0]; if ($v_0) { this.$b_0(); if ($v_0.m_RowCount >= $v_0.m_MaxRows && $v_0.m_StreamType === 2) { this.$2L_0($v_0); } if ($v_0.m_RowCount < $v_0.m_MaxRows) { var $v_1 = $v_0.m_RowCount + $v_0.m_RowsOverwritten; $v_0.m_Rows['' + $v_1] = $p1; $v_0.m_RowCount++; this.$1_0.m_cbStreams += 4; for (var $v_2 = 0; $v_2 < $p1.m_Values.length; $v_2++) { var $v_3 = $p1.m_Values[$v_2].toString(); this.$1_0.m_cbStreams += $v_3.length * 2; } this.$1_0.m_cbStreams += ($p1.m_Values.length - 1) * 6; if ($v_0.m_RowCount > SP.StreamRowCounters.maxRowCount) { SP.StreamRowCounters.maxRowCount = $v_0.m_RowCount; this.setDw(7993, $v_0.m_RowCount); this.setDw(8048, $v_0.m_WsaId); } } else { $v_0.m_RowsOverwritten++; if ($v_0.m_RowsOverwritten > SP.StreamRowCounters.maxOverwritten) { SP.StreamRowCounters.maxOverwritten = $v_0.m_RowsOverwritten; this.setDw(7994, $v_0.m_RowsOverwritten); this.setDw(8047, $v_0.m_WsaId); } } } }, terminate: function SP_BWsaClient$terminate$in() { this.uploadWsaData(); }, uploadWsaData: function SP_BWsaClient$uploadWsaData$in() { try { this.$x_0(); if (!this.$1_0 || !this.$0_0) { return; } if (!this.$0_0.$8_0 && !this.$0_0.$D_0) { return; } if (this.$0_0.$f_0 === '') { this.$0_0.$8_0 = false; return; } var $v_0 = SP.Ticks.getTicks64(); if (this.$l_0 > 0 && $v_0 <= this.$l_0 + this.$0_0.$1U_0) { return; } this.$l_0 = $v_0; if (this.$e_0) { if (this.$k_0) { this.setDw(60, 1); } else { this.setDw(60, 0); this.$k_0 = true; } this.writeDocIdStream(); this.$1_0.m_wsaHeader.m_EndTime = SP.Ticks.getTicks64(); var $v_1 = this.$2M_0(this.$1_0, this.$0_0); this.$2E_0(); if ($v_1 && $v_1.length > 0) { this.uploadWsaDataRequest($v_1); } } } catch ($$e_2) { } }, uploadWsaDataRequest: function SP_BWsaClient$uploadWsaDataRequest$in(json) { if (!this.$S_0) { this.$S_0 = new XMLHttpRequest(); } if (!this.$S_0.readyState || this.$S_0.readyState === 4) { var $v_0 = true; this.$S_0.open('POST', this.$0_0.$f_0, $v_0); this.$S_0.setRequestHeader('Content-Type', 'application/json'); this.$S_0.send(json); } }, $26_0: function SP_BWsaClient$$26_0$in($p0) { return ((((((($p0.replace(new RegExp('[\\\\]', 'g'), '\\\\')).replace(new RegExp('[\\\"]', 'g'), '\\\\\\\"')).replace(new RegExp('[\\/]', 'g'), '\\\\/')).replace(new RegExp('[\\b]', 'g'), '\\\\b')).replace(new RegExp('[\\f]', 'g'), '\\\\f')).replace(new RegExp('[\\n]', 'g'), '\\\\n')).replace(new RegExp('[\\r]', 'g'), '\\\\r')).replace(new RegExp('[\\t]', 'g'), '\\\\t'); }, $2M_0: function SP_BWsaClient$$2M_0$in($p0, $p1) { var $v_0 = new Sys.StringBuilder(); var $v_1 = true; var $v_2 = false; var $v_3 = 0; if ($p1.$8_0) { $v_3 = 16; } if ($p1.$D_0) { $v_3 |= 32; } $v_0.append('{'); $v_0.append('\"StartTime\":' + $p0.m_wsaHeader.m_StartTime + ','); $v_0.append('\"EndTime\":' + $p0.m_wsaHeader.m_EndTime + ','); $v_0.append('\"Flags\":' + $v_3 + ','); if ($p0.m_wsaHeader.m_CorrelationId) { $v_0.append('\"CorrelationId\":\"' + $p0.m_wsaHeader.m_CorrelationId + '\",'); } if ($p0.m_wsaHeader.m_FlightId) { $v_0.append('\"FlightId\":\"' + $p0.m_wsaHeader.m_FlightId + '\",'); } $v_0.append('\"wsaDatapoints\":['); var $$dict_8 = $p0.m_wsaDatapoints; for (var $$key_9 in $$dict_8) { var $v_4 = { key: $$key_9, value: $$dict_8[$$key_9] }; var $v_5 = $v_4.value; if (!this.$1o_0($v_5.m_WsaId)) { continue; } $v_2 = true; if (!$v_1) { $v_0.append(','); } $v_0.append('{\"Id\":' + $v_5.m_WsaId + ','); $v_0.append('\"Val\":' + $v_5.m_Value + ','); $v_0.append('\"Tic\":' + $v_5.m_Ticks + '}'); $v_1 = false; } $v_0.append('],\"wsaStreams\":['); $v_1 = true; var $$dict_I = $p0.m_wsaStreams; for (var $$key_J in $$dict_I) { var $v_6 = { key: $$key_J, value: $$dict_I[$$key_J] }; var $v_7 = $v_6.value; if (!this.$1o_0($v_7.m_WsaId)) { continue; } $v_2 = true; if (!$v_7.m_RowCount) { continue; } var $v_8 = true; if (!$v_1) { $v_0.append(','); } $v_0.append('{\"Id\":' + $v_7.m_WsaId + ','); $v_0.append('\"Width\":' + $v_7.m_Width + ','); $v_0.append('\"Rows\":['); var $$dict_G = $v_7.m_Rows; for (var $$key_H in $$dict_G) { var $v_9 = { key: $$key_H, value: $$dict_G[$$key_H] }; var $v_A = $v_9.value; if (!$v_8) { $v_0.append(','); } $v_0.append('{\"Tic\":' + $v_A.m_Ticks + ','); $v_0.append('\"Vals\":['); for (var $v_B = 0; $v_B < $v_A.m_Values.length; $v_B++) { if ($v_B > 0) { $v_0.append(','); } if (SP.BWsaClient.isNullOrUndefined($v_A.m_Values[$v_B])) { $v_0.append('\"\"'); } else if (Object.getType($v_A.m_Values[$v_B]) === String) { $v_0.append('\"' + this.$26_0($v_A.m_Values[$v_B]) + '\"'); } else { $v_0.append($v_A.m_Values[$v_B]); } } $v_0.append(']}'); $v_8 = false; } $v_0.append(']}'); $v_1 = false; } $v_0.append(']}'); if ($v_2) { return $v_0.toString(); } else { return null; } }, isUserOptedIn: function SP_BWsaClient$isUserOptedIn$in() { return this.$0_0.$8_0; }, disable: function SP_BWsaClient$disable$in() { try { this.$x_0(); this.$0_0.$8_0 = false; } catch ($$e_0) { } }, $h_0: function SP_BWsaClient$$h_0$in($p0, $p1) { if (!this.$1_0.m_wsaDatapoints['' + $p0]) { var $v_0 = new SP.BWsaDatapoint($p0); $v_0.m_Value = $p1; this.$1_0.m_wsaDatapoints['' + $p0] = $v_0; this.$1_0.m_cDataPoints++; } }, $x_0: function SP_BWsaClient$$x_0$in() { if (this.$Y_0) { window.clearTimeout(this.$Y_0); this.$Y_0 = 0; } }, $b_0: function SP_BWsaClient$$b_0$in() { if (SP.TimerResetCheck.isTimerResetNeeded()) { this.$x_0(); this.$Y_0 = window.setTimeout(this.$$d_$22_0, this.$0_0.$n_0); } }, $22_0: function SP_BWsaClient$$22_0$in() { this.$Y_0 = 0; this.$x_0(); this.uploadWsaData(); this.$b_0(); }, addCommonDatapoint: function SP_BWsaClient$addCommonDatapoint$in(datapointId) { this.$d_0['' + datapointId] = true; }, $i_0: 0, $V_0: null, registerPersistentDocId: function SP_BWsaClient$registerPersistentDocId$in(DocHash) { if (DocHash && DocHash.length === 4 && (DocHash[0] || DocHash[1] || DocHash[2] || DocHash[3])) { this.$i_0 = 1; this.$V_0 = DocHash; return true; } else { return false; } }, getActiveDocKey: function SP_BWsaClient$getActiveDocKey$in() { return this.$i_0; }, writeDocIdStream: function SP_BWsaClient$writeDocIdStream$in() { if (this.$i_0 && this.$V_0) { this.createStream(9797, 1, 5, 1); this.addToStreamDw(9797, this.$i_0, this.$V_0[0], this.$V_0[1], this.$V_0[2], this.$V_0[3]); this.setDw(10273, this.$V_0[0]); return true; } else { return false; } }, getStreamById: function SP_BWsaClient$getStreamById$in(streamId) { return this.$1_0.m_wsaStreams[streamId.toString()]; }, $z_0: function SP_BWsaClient$$z_0$in($p0, $p1) { if (!$p0) { return null; } var $v_0 = new Array(0); var $v_1 = 0; var $$dict_6 = $p0.m_Rows; for (var $$key_7 in $$dict_6) { var $v_2 = { key: $$key_7, value: $$dict_6[$$key_7] }; var $v_3 = $v_2.value; if ($v_3.m_Values.length > 0 && $v_3.m_Values[0] === $p1) { $v_0[$v_1++] = $v_3; } } return $v_0; }, setCorrelationId: function SP_BWsaClient$setCorrelationId$in(correlationId) { this.$1_0.m_wsaHeader.m_CorrelationId = correlationId; }, setFlightId: function SP_BWsaClient$setFlightId$in(flightId) { this.$1_0.m_wsaHeader.m_FlightId = flightId; } }; SP.RUMLogger = function SP_RUMLogger(wsa) { this.$s_0 = -1; this.$4_0 = wsa; this.$4_0.createStream(11016, 1, 9, 1000); this.$K_0 = this.$4_0.getStreamById(11016); }; SP.RUMLogger.GetRUMLogger = function SP_RUMLogger$GetRUMLogger$st(wsa) { if (SP.RUMLogger.$2(wsa)) { return null; } if (!SP.RUMLogger.$P) { SP.RUMLogger.$P = new SP.RUMLogger(wsa); } return SP.RUMLogger.$P; }; SP.RUMLogger.$29 = function SP_RUMLogger$$29$st($p0) { var $v_0 = 0; if ($p0) { var $$dict_3 = $p0; for (var $$key_4 in $$dict_3) { var $v_1 = { key: $$key_4, value: $$dict_3[$$key_4] }; $v_0++; } } return $v_0; }; SP.RUMLogger.$10 = function SP_RUMLogger$$10$st() { var $v_0 = window.self.performance; if (SP.RUMLogger.$2($v_0)) { return null; } return $v_0; }; SP.RUMLogger.$1R = function SP_RUMLogger$$1R$st() { var $v_0 = SP.RUMLogger.$10(); if (null === $v_0) { return null; } var $v_1 = $v_0.timing; if (SP.RUMLogger.$2($v_1)) { return null; } return $v_1; }; SP.RUMLogger.$2H = function SP_RUMLogger$$2H$st($p0) { return typeof $p0 === 'undefined'; }; SP.RUMLogger.$2 = function SP_RUMLogger$$2$st($p0) { var $v_0 = null; return $p0 === $v_0 || SP.RUMLogger.$2H($p0); }; SP.RUMLogger.prototype = { $4_0: null, $K_0: null, $1E_0: false, $1I_0: false, $w_0: false, $1J_0: false, $1F_0: false, $1D_0: false, $v_0: false, $1G_0: false, $M_0: 0, _navigationStart: 0, _unloadEventStart: 0, _unloadEventEnd: 0, _fetchStart: 0, _redirectStart: 0, _redirectEnd: 0, _domainLookupStart: 0, _domainLookupEnd: 0, _connectStart: 0, _secureConnectStart: 0, _connectEnd: 0, _requestStart: 0, _responseStart: 0, _responseEnd: 0, _domLoading: 0, _domComplete: 0, _loadEventStart: 0, _loadEventEnd: 0, get_IsMDSBlockCollected: function SP_RUMLogger$get_IsMDSBlockCollected$in() { return this.$1E_0; }, SetPageTransitionType: function SP_RUMLogger$SetPageTransitionType$in(pageTransitionType) { if (this.$1F_0) { return; } if (pageTransitionType && pageTransitionType !== 1 && pageTransitionType !== 2 && pageTransitionType !== 3 && pageTransitionType !== 4) { return; } this.$M_0 = pageTransitionType; this.$U_0(0, 32, this.$M_0); this.$1F_0 = true; }, ComputePageLoadTime: function SP_RUMLogger$ComputePageLoadTime$in() { if (this.$1D_0) { return; } var $v_0 = this.$1i_0(0); if ($v_0.length < 18) { return; } var $v_1 = $v_0[18]; if (this.$M_0 === 1) { var $v_2 = this.$2D_0(0, 20); if (SP.RUMLogger.$2($v_2)) { return; } this.$s_0 = $v_1 - $v_2; } else if (this.$M_0 === 3) { var $v_3 = SP.RUMLogger.$1R(); if (SP.RUMLogger.$2($v_3)) { return; } var $v_4 = $v_3.navigationStart; if (SP.RUMLogger.$2($v_4)) { return; } this.$s_0 = $v_1 - $v_4; } this.$U_0(0, 33, this.$s_0); this.$1D_0 = true; }, Add: function SP_RUMLogger$Add$in(groupId, tsId) { if (SP.RUMLogger.$2(this.$4_0) || SP.RUMLogger.$2(this.$K_0)) { return; } if (groupId > 0) { return; } this.CollectW3CPerformanceTimings(); this.$U_0(groupId, tsId, (new Date()).getTime()); }, $1q_0: function SP_RUMLogger$$1q_0$in($p0) { switch ($p0) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 34: case 35: return true; default: return false; } }, AddMDS: function SP_RUMLogger$AddMDS$in(tsId, tsVal) { var mdsTimeStamps = []; for (var $$pai_3 = 2; $$pai_3 < arguments.length; ++$$pai_3) { mdsTimeStamps[$$pai_3 - 2] = arguments[$$pai_3]; } if (SP.RUMLogger.$2(this.$4_0) || SP.RUMLogger.$2(this.$K_0)) { return; } tsId = this.$1g_0(tsId); if (!this.$1q_0(tsId)) { return; } if (this.$M_0 === 1 && tsId === 20) { this.ResetW3CTimings(); } this.CollectW3CPerformanceTimings(); this.$U_0(0, tsId, tsVal); this.$1m_0(0, mdsTimeStamps); }, AddTTLB: function SP_RUMLogger$AddTTLB$in() { if (SP.RUMLogger.$2(this.$4_0) || SP.RUMLogger.$2(this.$K_0)) { return; } this.CollectW3CPerformanceTimings(); this.CollectW3CResourceTimings(); var $v_0 = (new Date()).getTime(); if (this.$1I_0) { this.$U_0(0, 19, $v_0); } else { this.$U_0(0, 18, $v_0); this.$U_0(0, 19, $v_0); this.$1I_0 = true; } this.ComputePageLoadTime(); }, AddMDSBlock: function SP_RUMLogger$AddMDSBlock$in(mdsTimeStamps) { if (SP.RUMLogger.$2(this.$4_0) || SP.RUMLogger.$2(this.$K_0)) { return; } if (SP.RUMLogger.$2(mdsTimeStamps) || !mdsTimeStamps.length) { return; } this.CollectW3CPerformanceTimings(); this.$1m_0(0, mdsTimeStamps); this.$1E_0 = true; }, DisplayDevDash: function SP_RUMLogger$DisplayDevDash$in() { if (SP.RUMLogger.$2(this.$4_0) || SP.RUMLogger.$2(this.$K_0)) { return; } var $v_0 = this.$1i_0(0); var $v_1 = window.self.DeveloperDashboard; if ($v_1 && $v_1.PostMsg) { var $v_2 = new Array(3); $v_2[0] = 'MS.RUMTelemetry'; $v_2[1] = 'AddRUMData'; $v_2[2] = ''; if (this.$w_0) { var $v_3 = !$v_0[1] ? 0 : $v_0[1] - $v_0[0]; var $v_4 = !$v_0[2] ? 0 : $v_0[2] - $v_0[0]; var $v_5 = !$v_0[4] ? 0 : $v_0[4] - $v_0[0]; var $v_6 = !$v_0[5] ? 0 : $v_0[5] - $v_0[0]; var $v_7 = !$v_0[6] ? 0 : $v_0[6] - $v_0[0]; var $v_8 = !$v_0[7] ? 0 : $v_0[7] - $v_0[0]; var $v_9 = !$v_0[3] ? 0 : $v_0[3] - $v_0[0]; var $v_A = !$v_0[11] ? 0 : $v_0[11] - $v_0[0]; var $v_B = !$v_0[12] ? 0 : $v_0[12] - $v_0[0]; var $v_C = !$v_0[13] ? 0 : $v_0[13] - $v_0[0]; var $v_D = !$v_0[8] ? 0 : $v_0[8] - $v_0[0]; var $v_E = !$v_0[10] ? 0 : $v_0[10] - $v_0[0]; var $v_F = !$v_0[14] ? 0 : $v_0[14] - $v_0[0]; var $v_G = !$v_0[15] ? 0 : $v_0[15] - $v_0[0]; var $v_H = !$v_0[16] ? 0 : $v_0[16] - $v_0[0]; var $v_I = !$v_0[17] ? 0 : $v_0[17] - $v_0[0]; var $v_J = !$v_0[18] ? 0 : $v_0[18] - $v_0[0]; var $v_K = !$v_0[19] ? 0 : $v_0[19] - $v_0[0]; $v_2[2] += '